function(skyrocket_tests_init)
    set(skyrocket_tests_root ${PROJECT_SOURCE_DIR}/Tests CACHE INTERNAL "")
    add_library(TestMain STATIC ${PROJECT_SOURCE_DIR}/Tests/Static/TestMain.cpp)
endfunction()

function(skyrocket_add_test name)
    set(srcs)
    foreach(s IN LISTS ARGN)
        if (NOT IS_ABSOLUTE "${s}")
            get_filename_component(s "${s}" ABSOLUTE)
        endif ()
        list(APPEND srcs "${s}")
    endforeach()
    add_executable(${name} "${srcs}")
    target_include_directories(${name} PUBLIC ${skyrocket_tests_root}/Static)
    target_link_libraries(${name} Skyrocket)
    target_link_libraries(${name} TestMain)
endfunction()